package com.platform.module.dao.service.impl;

import com.platform.module.dao.entity.TmInviteUserBetInfo;
import com.platform.module.dao.mapper.TmInviteUserBetInfoMapper;
import com.platform.module.dao.service.TmInviteUserBetInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 代理等级用户下注流水记录 服务实现类
 * </p>
 *
 * @author ZM
 * @since 2025-01-09
 */
@Service
@AllArgsConstructor
public class TmInviteUserBetInfoServiceImpl extends ServiceImpl<TmInviteUserBetInfoMapper, TmInviteUserBetInfo> implements TmInviteUserBetInfoService {

    private final TmInviteUserBetInfoMapper tmInviteUserBetInfoMapper;

    @Override
    public BigDecimal sumBalanceByUserIdAndBillDate(Long userId, LocalDate now) {
        BigDecimal sumBalance = tmInviteUserBetInfoMapper.sumBalanceByUserIdAndBillDate(userId, now);
        return sumBalance != null ? sumBalance : BigDecimal.ZERO;
    }

    @Override
    public BigDecimal sumBalanceByUserIdAndBillDateBetween(Long userId, LocalDateTime cumulativeStartTime, LocalDateTime cumulativeExpiredTime) {
        BigDecimal sumBalance = tmInviteUserBetInfoMapper.sumBalanceByUserIdAndBillDateBetween(userId, cumulativeStartTime, cumulativeExpiredTime);
        return sumBalance != null ? sumBalance : BigDecimal.ZERO;
    }
}
